Nowadays, the number portability (NP) service is a very popular and useful service, which allows subscriber to select different telecommunication operators while retains his original telephone number. In the legacy SS7 network, when implementing number portability service, several methods for performing number portability query can be used, and accordingly several methods for carrying the number portability information over ISUP signaling can be used.
With the communication network gradually evolves to the Internet Protocol (IP) based network such as VoIP network, the interface between switches is also replaced by SIP-I protocol interface. Technical specification RFC3398 defines rules of how to map between SIP message and ISUP message, based on these rules, parameters in the ISUP message can be converted into fields of the SIP message. Since number portability information is usually carried by the Initial Address Message (IAM) of the ISUP message, RFC3398 also defines new parameters of the SIP message for number portability: number portability dip parameter (npdi) which indicates execution of the number portability dip, and routing number parameter (rn) which stores the routing number to be routed to a destination user. These two new parameters are equivalent to number translation indicator bit (bit M) in forward call indicator (FCI) and called party number (CdPN) in the ISUP message of the legacy SS7 domain respectively.
In addition, in IP Multimedia Subsystem (IMS) network, ENUM database may also be used to implement the number portability service. ENUM is a protocol defined by Telephone Number Mapping working group of IETF, which defines rules for mapping E.164 telephone number into domain name and manner of storing the domain name related information in Internet DNS (Domain Name Server) database. By using the ENUM mechanism, E.164 telephone number can be mapped into a variety of information such as traditional telephone number, mobile telephone number, email address, IP telephone number, IP fax or personal Web page, such that the subscriber can easily realize the number portability.
For the communication system containing SIP network and ISUP network, the switches at edge of the network have both SIP interface and ISUP interface. For example, when a call is initiated by a subscriber in the ISUP network and terminated by a subscriber in the ISUP network via the SIP network, after the number portability query is performed on the calling switch, the ISUP message carrying the number portability information will be transmitted to the called switch. When the ISUP message is entering into the SIP network, it needs to be converted into the SIP message for transmission in the SIP network. When the SIP message enters into the ISUP network, it needs to be converted into the ISUP message again. So in this case, the ISUP and SIP messages need to be mapped into each other for many times.
Currently, there are various types of number portability in the legacy SS7 network. However, in the SIP message, the number portability information only can be represented by the afore-mentioned npdi parameter and rn parameter. According to RFC3398 specification, it is very easy to convert the number portability information in the ISUP message to the number portability information in the SIP message. The number portability information is represented by the npdi parameter and rn parameter in the SIP message regardless of the type of the number portability. However, it is very difficult to map the number portability information in the SIP message into the ISUP message, because the mapping from the ISUP message to the SIP message is a n-to-1 mapping, while the mapping from the SIP message to the ISUP message is a 1-to-n mapping. This kind of mapping has following defects: once the ISUP message is mapped into the SIP message, the subsequent switches have no idea of what kind of number portability has been executed, thus when the SIP message is mapped back to the ISUP message, the switches have no idea that the number portability information in the SIP message should be mapped into what parameters in the ISUP message, which may cause that the ISUP message mapped from the SIP message is different from the initial ISUP message.
As mentioned above, the npdi parameter is used to indicate the execution of the number portability dip. If the number portability dip operation has been executed, the npdi parameter would be contained in the SIP message. If the operation has not been executed, the npdi parameter would not be contained in the SIP message. According to RFC3398, if no ‘npdi=yes’ field is contained within the SIP message ‘Request-URI’, the number (which represents the telephone number of the destination user) in the ‘tel URL’ must be converted into the ISUP format and become the parameter for called party number (CdPN). If the ‘npdi=yes’ field is contained in the ‘Request-URI’, the number translation indicator bit in FCI within the IAM message must reflect that the number portability dip has been executed. However, the npdi parameter does not indicate what type of number portability has been executed.